According to requirements for high capacity and high integration, flash memory devices program multiple bits in each memory cell, which reduces margins between program states. The reduced margins cause less reliability of the flash memory devices.